home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 20 / Cream of the Crop 20 (Terry Blount) (1996).iso / os2 / xdsn217.zip / DOC / intro.txt < prev    next >
Text File  |  1996-07-10  |  24KB  |  678 lines

  1. INTRO.TXT                        Copyright (c) 1991,96 xTech Ltd
  2. ----------------------------------------------------------------
  3.  
  4.                  Native XDS-x86 OS/2 Edition
  5.                  ---------------------------
  6.                      v2.17 (pre-release)
  7.  
  8.                         Introduction
  9.  
  10.  
  11. XDS is a professional development system available for most popular
  12. platforms, including  OS/2, Linux, Windows NT, Windows 95, PC/MS-DOS,
  13. Unix workstations (Sun, HP, DEC, MIPS, etc), etc. via the C generation.
  14. The native code compilers are available currently for OS/2, Linux,
  15. Windows NT, and Windows 95. The previous version of XDS was known as
  16. "Extacy".  The native code versions of the system were distributed 
  17. as "Extacy.EXE" and "OM2".
  18.  
  19. XDS contains both Modula-2 and Oberon-2 compilers. The source
  20. language of XDS Modula-2 compiler is fully compatible with ISO
  21. Modula-2 standard. We are expecting that adaptation of the ISO
  22. standard will cause the new wave of interest to Modula-2. The ISO
  23. Modula-2 includes features important for industry programming such
  24. as standard library set, exceptions, and support of concurrency.
  25.  
  26. Oberon-2 is an object-oriented programming (OOP) language based
  27. on Modula-2. With introduction of object-oriented facilities,
  28. extensible project design became much easier. Meanwhile Oberon-2
  29. is quite simple and easy to learn and use, unlike other OOP
  30. languages such as C++ or Smalltalk.
  31.  
  32. Moving to a new language usually means throwing away or rewriting
  33. your existing library set which could have been the work of many
  34. years. XDS allows programmer to mix Modula-2, Oberon-2, C and
  35. Assembler modules and libraries in a single project.
  36.  
  37. XDS includes subsets of standard ISO and PIM Modula-2 libraries
  38. complete with ANSI C standard interface which can be accessed
  39. and used from both Modula-2 and Oberon-2.
  40.  
  41.                  About the pre_release Version
  42.                  -----------------------------
  43.  
  44. This version is a pre-release distribution of XDS OS/2 package,
  45. including:
  46.  
  47.         - "xds" - interactive programming environment
  48.         - "xc" utility, which combines Modula-2 and Oberon-2
  49.                to compilers and "make" facilities
  50.         - ISO Modula-2 Library
  51.         - A subset of the PIM Compliant Library
  52.         - A subset of the ANSI C Library Interfaces
  53.  
  54. The "xc" utility  will  only  operate on computers that are IBM PS2
  55. or IBM AT compatible and contain an 80386 processor (with numerical
  56. coprocessor) or better.
  57.  
  58.                             Using XDS
  59.                             ---------
  60.  
  61. The  XDS  Modula-2  and  Oberon-2 compilers are activated from a
  62. single  utility  "xc".  When  invoked  without  parameters,  the
  63. utility shows some "help" information. The working configuration
  64. includes:
  65.  
  66.         xc.exe    Modula-2/Oberon-2 development system
  67.         xc.msg    Contains texts of error messages
  68.         xc.red    Search path redirection file (optional)
  69.         xc.cfg    Configuration file (optional)
  70.  
  71. When  invoked  the  "xc"  tries  to locate the xc.red file in the
  72. current directory or in the directory where "xc.exe" (C:\XDS\BIN)
  73. is placed.
  74.  
  75. Other system files ("xc.msg" and "xc.cfg") are sought by paths
  76. defined  by "xc.red". If "xc.red" is not found, or it does not
  77. contain paths for a system file, the system file is sought in the
  78. current  directory  or  in  the  directory where "xc.exe" is
  79. placed.
  80.  
  81.                         Redirection File
  82.                         ----------------
  83.  
  84. The file "xc.red" consists of several lines of the form:
  85.  
  86.         pattern = directory_path {";" directory_path}
  87.  
  88. Example of redirection file:
  89.  
  90.         *.def  = def
  91.         *.mod  = mod
  92.         *.sym  = sym; c:\xds\sym;
  93.         xc.cfg = .; c:\xds\bin
  94.  
  95. XDS  will  search definition modules in the "def" sub-directory,
  96. symbol files in the "sym" sub-directory and then in "c:\xds\sym"
  97. and  files  "xc.cfg",  "xc.msg"  will  be  sought in the current
  98. directory and then in "c:\xds\bin".
  99.  
  100.  
  101.                        Configuration File
  102.                        ------------------
  103.  
  104. The configuration file can be used to set the default values  of
  105. options and equations.
  106.  
  107. When  invoked,  XDS  searches  for  configuration file "xc.cfg".
  108. Every  line  in  the  configuration  file  can  contain only one
  109. compiler  option  or equation setup directive. It is possible to
  110. put  comment lines into configuration file. Comment lines should
  111. start with a "%" symbol.
  112.  
  113. setup_directive = declare_option
  114.                 | declare_synonym
  115.                 | set_option_on
  116.                 | set_option_off
  117.                 | set_equation
  118. declare_option  = '-' name ':' [ '+' | '-' ]
  119. declare_synonym = '-' name ':=' name
  120. set_option_on   = '-' name '+'
  121. set_option_off  = '-' name '-'
  122. set_equation    = '-' name ['='] value
  123.  
  124. To set an option ON, use "-OPTION+" directive.
  125. To set an equation,  use  "-OPTION = VALUE" directive.
  126.  
  127. Option and equation names are case independent. Arbitrary spaces
  128. are permitted in the configuration file.
  129.  
  130. Example:
  131.  
  132.         % this is a comment
  133.         % equation option - set Oberon-2 file extension
  134.         - Oberon = ob2
  135.         % boolean option - allow Modula-2 extensions
  136.         - M2extensions +
  137.         % end of configuration file
  138.  
  139.                           Invoking XDS
  140.                           ------------
  141.  
  142. "xc" is invoked from the command line of the following form
  143.  
  144.         xc { OPERATION MODE | OPTION | NAME }
  145.  
  146. where  NAME for different operation modes is a module name, file
  147. name or a project name.
  148.  
  149. XDS has the following modes of operation:
  150.  
  151.     Mode    |  Meaning
  152. ------------+---------------------------------------------------
  153.     COMPILE | Compile all modules given in the command line
  154.     PROJECT | Make all projects given in the command line
  155.     MAKE    | Check dependencies and recompile
  156.     GEN     | Generate makefile for all projects
  157.     BROWSE  | Extract definitions from symbol files
  158.     HELP    | Print help and abort the program
  159. ------------+---------------------------------------------------
  160.  
  161. Both the PROJECT and MAKE modes have two optional submodes of
  162. operation: BATCH and ALL. Two auxiliary operation submodes -
  163. OPTIONS and EQUATIONS can be used to inspect the set of compiler
  164. options and equations and their values.
  165.  
  166. From the command line, the compiler mode is set using '=',
  167. followed by the required mode. Only the unique portion of a name
  168. need be specified. Operation mode names are not case sensitive,
  169. thus
  170.         =PROJECT   is equivalent to   =p
  171.         =BROWSE    is equivalent to   =Bro
  172.  
  173. Operation modes and options can be placed everywhere in the
  174. command line. Thus the following two invocation are equal:
  175.     xc =make hello.mod =all -checknil+
  176.     xc -checknil+ =a =make hello.mod
  177.  
  178. COMPILE mode
  179. ------------
  180.  
  181.     xc [=compile] { FILENAME | OPTION  }
  182.  
  183. COMPILE is the default mode, and can be invoked simply by
  184. supplying "xc" with a source module(s) to compile. If xc is
  185. invoked without a given mode, COMPILE mode is assumed. In order
  186. to determine which compiler to use, xc looks at the extensions of
  187. given source files. The default mapping of extensions is given
  188. below :
  189.     .mod  - Modula-2 implementation module
  190.     .def  - Modula-2 definition module
  191.     .ob2  - Oberon-2 module
  192.  
  193. For example:
  194.         xc hello.mod
  195. will invoke Modula-2 compiler, whilst:
  196.         xc hello.ob2
  197. will invoke Oberon-2 compiler.
  198.  
  199. The user is able to reconfigure the extension mapping. It is
  200. also possible to override this extension mapping from the
  201. command line, using options M2 and O2:
  202.      xc hello.mod +o2  (* invokes O2 compiler *)
  203.      xc hello.ob2 +m2  (* invokes M2 compiler *)
  204.  
  205. MAKE mode
  206. ---------
  207.  
  208.     xc =make [=batch] [=all] { FILENAME | OPTION }
  209.  
  210. In the MAKE mode the compiler calculates module dependencies
  211. (using IMPORT clauses) and then recompiles all modules that
  212. necessary.
  213.  
  214. Starting from the files in the command line it tries to find an
  215. Oberon module or a definition and implementation module for each
  216. imported module. It then tries to do the same for each of the
  217. imported modules until al